<?php

/*
Autor: Jonathan Vindas Abarca
Fecha: 21/11/2012
Descripción: Este archivo contiene la declaración de funciones para obtener datos de la tabla de contratos
de la base de datos SQL Server.
Bitacora de modificaciones:
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/

   function agregarContratoModelo($codigoContrato, $numeroOrden, $fechaEntrega, $fechaContrato, $incoterm, $comprador, $vatRegistration, $codigocliente,$codigoCompania)
    {
         require_once 'dataModelo.php';
        $conexion=conexion();
        $insert="insert into contratos(codigoContrato, numeroOrden, fechaEntrega, fechaContrato, incoterm, comprador, VATRegistration, codigoCliente,codigoCompania) values ('$codigoContrato','$numeroOrden','$fechaEntrega','$fechaContrato','$incoterm','$comprador','$vatRegistration','$codigocliente','$codigoCompania')";        
        //$insert="exec SP001AgregarPrecio '$Embalaje','$Precio','$Localidad'";
        if (!odbc_exec($conexion,$insert))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    function modificarContratoModelo($codigoContrato, $numeroOrden, $fechaEntrega, $fechaContrato, $incoterm, $comprador, $vatRegistration, $codigocliente,$codigoCompania,$numeroContrato)
    {
         require_once 'dataModelo.php';
        $conexion=conexion();        
        //$insert="exec SP001AgregarPrecio '$Embalaje','$Precio','$Localidad'";
        $update="update contratos set codigoContrato='".$codigoContrato."',numeroOrden='".$numeroOrden."', fechaEntrega='$fechaEntrega',fechaContrato='$fechaContrato',incoterm='".$incoterm."',comprador='".$comprador."',VATRegistration='".$vatRegistration."' where numeroContrato='".$numeroContrato."' and codigoCliente='".$codigocliente."' and codigoCompania='".$codigoCompania."'"  ;
        if (!odbc_exec($conexion,$update))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    /*Función para Eliminar Contratos*/
    function eliminarContratoModelo($numeroContrato, $codigoCompania,$codigoCliente)
    {        
        require_once 'dataModelo.php';
        $conexion=conexion();
        //$update="exec SP003EliminarEmbalajeControlador '$CodigoEmbalaje'";
        $delete="delete from contratos where numeroContrato ='$numeroContrato' and codigoCliente='$codigoCliente' and codigoCompania='$codigoCompania'";
        if (!odbc_exec($conexion,$delete))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    function buscarContratosModelo()
    {
        require_once 'dataModelo.php';
        require_once 'FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);
        $firephp->log("buscarContratosModelo", "buscarContratosModelo");
        $conexion=conexion();
        $select="select con.numeroContrato,con.codigoContrato, con.numeroOrden, con.fechaEntrega, con.fechaContrato, con.incoterm, con.comprador,con.VATRegistration, cl.nombreCliente, cl.codigoCliente, cl.codigoCompania, dat.nombreCompania from contratos con 
        inner join clientes cl on cl.codigoCliente=con.codigoCliente and cl.codigoCompania=con.codigoCompania
        inner join Companias dat on cl.codigoCompania=dat.codigoCompania";                
        $rs = odbc_exec($conexion,$select);
        $items=Array();
            while (odbc_fetch_row($rs)){
                $fechaEntrega=date_parse(odbc_result($rs,"fechaEntrega"));
                $fechaContrato=date_parse(odbc_result($rs,"fechaContrato"));
                $item['codigoContrato']=odbc_result($rs,"codigoContrato");
                $item['numeroOrden']=odbc_result($rs,"numeroOrden");
                $item['fechaEntrega']=convertirFechaBDFormatoInterfazDDMMYYYY($fechaEntrega['day'], $fechaEntrega['month'], $fechaEntrega['year']);                
                $item['fechaContrato']=convertirFechaBDFormatoInterfazDDMMYYYY($fechaContrato['day'], $fechaContrato['month'], $fechaContrato['year']);                                                
                $item['incoterm']=odbc_result($rs,"incoterm");                
                $item['comprador']=odbc_result($rs,"comprador");  
                $item['VATRegistration']=odbc_result($rs,"VATRegistration");  
                $item['codigoCliente']=odbc_result($rs,"codigoCliente");  
                $item['nombreCliente']=odbc_result($rs,"nombreCliente");  
                $item['codigoCompania']=odbc_result($rs,"codigoCompania");  
                $item['nombreCompania']=odbc_result($rs,"nombreCompania");  
                $item['numeroContrato']=odbc_result($rs,"numeroContrato");  
                array_push($items,$item);
            }
        odbc_close($conexion);
        return $items;
    }    
    
    function mostrarCodigosContratosAjaxControlador($codigoCliente, $codigoCompania)
    {
        require_once 'dataModelo.php';
        $conexion=  conexion();
        //$select="select codigoContrato from contrato";
        $select="select numeroContrato,codigoContrato from contratos where codigocliente='$codigoCliente' and codigoCompania='$codigoCompania'";
        //$rs = odbc_exec($conexion, "SELECT CodEmbalaje,Tipo FROM embalajes");
        $rs = odbc_exec($conexion, $select);
        $items=Array();
        while (odbc_fetch_row($rs))
        {
            $item['numeroContrato']=odbc_result($rs,"numeroContrato");            
            $item['codigoContrato']=odbc_result($rs,"codigoContrato");            
            array_push($items,$item);
        }
        odbc_close($conexion);
        return $items;
    } 
    
    function encontrarContratoDuplicado($numeroContrato,$codigoCliente, $codigoCompania)
    {
        require_once 'dataModelo.php';
       $conexion=conexion();
       $existe=false;
       $conexion=conexion();       
       //$rs = odbc_exec($conexion,  "select Embalaje, Localidad from precios where Embalaje='".$tipoEmbalaje."' and Localidad='".$localidad."'");       
       $select="select numeroContrato,codigoContrato, numeroOrden, fechaEntrega, fechaContrato, incoterm, comprador, vatRegistration, codigocliente from contratos where numeroContrato='$numeroContrato' and codigoCompania='$codigoCompania' and codigoCliente='$codigoCliente'";       
       $rs = odbc_exec($conexion,$select);       
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }
       odbc_close($conexion);
       return $existe;
    }
            
    function recuperarContratoParaEditar($numeroContrato,$codigoCompania,$codigoCliente){
        require_once 'dataModelo.php';
        $conexion=conexion();
        $select="select codigoContrato, numeroOrden, fechaEntrega, fechaContrato, incoterm,comprador, VATRegistration,
codigoCliente,codigoCompania,numeroContrato from contratos where codigoCliente='$codigoCliente' and codigoCompania='$codigoCompania' and numeroContrato='$numeroContrato'";        
        $rs = odbc_exec($conexion,$select);
        $items=Array();
            while (odbc_fetch_row($rs)){              	                
                /*Parseamos las fechas*/
                $contractDate=date_parse(odbc_result($rs,"fechaContrato"));
                $deliveryDate=date_parse(odbc_result($rs,"fechaEntrega"));      
                /*Convertimos en formato para fecha/interfaz*/
                $item['fechaEntrega']=convertirFechaBDFormatoInterfazDDMMYYYY($deliveryDate['day'], $deliveryDate['month'], $deliveryDate['year']);                
                $item['fechaContrato']=convertirFechaBDFormatoInterfazDDMMYYYY($contractDate['day'], $contractDate['month'], $contractDate['year']);                
                /**/
                $item['codigoContrato']=odbc_result($rs,"codigoContrato");
                $item['numeroOrden']=odbc_result($rs,"numeroOrden");
                $item['incoterm']=odbc_result($rs,"incoterm");                
                $item['comprador']=odbc_result($rs,"comprador");
                $item['VATRegistration']=odbc_result($rs,"VATRegistration");
                $item['codigoCliente']=odbc_result($rs,"codigoCliente");
                $item['codigoCompania']=odbc_result($rs,"codigoCompania");
                $item['numeroContrato']=odbc_result($rs,"numeroContrato");                
                array_push($items,$item);
            }
        odbc_close($conexion);
        return $items;        
    }
    
       /*Metodo para verificar registros duplicados de acuerdo con $codigoContrato,$numeroOrden,$fechaEntrega,$fechaContrato,$incoterm,$comprador,$VATRegistration,$codigoCliente,$codigoCompania*/
    function encontrarContratoRepetido($codigoContrato,$numeroOrden,$fechaEntrega,$fechaContrato,$incoterm,$comprador,$VATRegistration,$codigoCliente,$codigoCompania)
    {
        //select codigoContrato, codigoCliente, codigoCompania from Contratos where codigoCliente='00019' and codigoCompania='006'
       require_once 'dataModelo.php';
       $conexion=conexion();
       $existe=false;
       $conexion=conexion();       
       //$rs = odbc_exec($conexion,  "select Embalaje, Localidad from precios where Embalaje='".$tipoEmbalaje."' and Localidad='".$localidad."'");       
     $select="select numeroOrden from Contratos where codigoContrato='$codigoContrato' 
	and numeroOrden='$numeroOrden' and fechaEntrega='$fechaEntrega'
	and fechaContrato='$fechaContrato' and incoterm='$incoterm'
	and comprador='$comprador' and VATRegistration='$VATRegistration'
	and codigoCliente='$codigoCliente' and codigoCompania='$codigoCompania'";       	
       $rs = odbc_exec($conexion,$select);       
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }
       odbc_close($conexion);
       return $existe;
    }
?>
